#ifndef __CLI_TRANSFILE_H
#define __CLI_TRANSFILE_H

#include "utils.h"

#define BUFFER_SIZE 4096 ///< 缓冲区大小

/**
 * @brief 文件信息结构体
 *
 */
typedef struct
{
    char file_name[MAX_PATH_LEN]; /**< 文件名 */
    long file_size;               /**< 文件大小 */
    char md5[33];                 /**< 文件MD5值 */
    bool is_complete;             /**< 是否传输完成 */
    long offset;                  /**< 文件偏移量 */
} FileInfo_t;

/**
 * @brief 上传文件
 *
 * @param arg 命令结构体
 * @return void
 */
void uploadFile(void *arg);

/**
 * @brief 下载文件
 *
 * @param arg 命令结构体
 * @return void
 */
void downloadFile(void *arg);

#endif /* __CLI_TRANSFILE_H */